home *** CD-ROM | disk | FTP | other *** search
/ D.I.S.C. 4 / D.I.S.C. 4.adf / sources / boot_trackdisk_load.S < prev    next >
Text File  |  1988-01-19  |  1KB  |  87 lines

  1. ; -------------------------
  2. ; -      boot-loader      -  
  3. ; - uses trackdisk.device -
  4. ; - by Snoopy/Level 4-ASD -
  5. ; -       for DISC!       -
  6. ; -------------------------
  7.  
  8.  ORG  $70000
  9.  LOAD $70000
  10.  
  11.  DC.B "DOS",0                          ;dos kennzeichen
  12.  DC.L 0                                ;checksumme (mit cmon berechnen)
  13.  DC.L $370                             ;root-block
  14.  
  15.  lea     DOSName(pc),a1
  16.  move.l     $4,a6
  17.  jsr     -96(a6)
  18.  tst.l   d0
  19.  bne.s   booted
  20.  reset
  21. booted:
  22.  move.l  d0,a0
  23.  move.l  22(a0),a0
  24.  moveq   #0,d0
  25.  
  26. bsr.s    inittrd
  27. bsr.s    io
  28. bsr.L    quittrd
  29. move.w    #$83e0,$dff096
  30. jsr    $50000
  31. jmp    $fc00d2
  32.  
  33. IO:    lea    diskio(pc),a1
  34.     move.w    #2,28(a1)
  35.     move.l    #$50000,40(a1)
  36.     move.l    #$5000,36(a1)
  37.     move.l    #11*512,44(a1)
  38.     move.l    4,a6
  39.     jsr    -456(a6)
  40.     lea    diskio(pc),a1
  41.     move.w    #4,28(a1)
  42.     move.l    4,a6
  43.     jsr    -456(a6)
  44.     rts
  45.  
  46. Inittrd:
  47.     move.l    4,a6
  48.  
  49.     sub.l    a1,a1
  50.     jsr    -294(a6)
  51.     lea     diskrep(pc),a5
  52.     move.l    d0,16(a5)
  53.     lea    diskrep(pc),a1
  54.     jsr    -354(a6)
  55.  
  56.     lea    diskio(pc),a1
  57.     lea    diskrep(pc),a5
  58.     move.l    a5,14(a1)
  59.     clr.l    d0
  60.     clr.l    d1
  61.     lea    trd(pc),a0
  62.     jsr    -444(a6)
  63.     tst.l    d0
  64.     bne.s    error
  65.     rts
  66.  
  67. quittrd:
  68.     move.l    4,a6
  69.     lea    diskio(pc),a1
  70.     move.l    32(a1),d7
  71.     move.w    #9,28(a1)
  72.     move.l    #0,36(a1)
  73.     jsr    -456(a6)
  74.     move.l    4,a6
  75.     lea    diskio(pc),a1
  76.     jsr    -450(a6)
  77.     lea    diskrep(pc),a1
  78.     jsr    -360(a6)
  79. error:    clr.l    d0
  80.     rts
  81.  
  82. trd:        dc.b  "trackdisk.device",0
  83. DOSName:    dc.b  "dos.library",0
  84. even
  85. diskio:        dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  86. diskrep:    dc.l 0,0,0,0,0,0,0,0
  87.